Field of the Invention
The present invention relates to a robot trajectory generation method for generating trajectories for operating a plurality of robot arms arranged in a common working area by a control apparatus, a robot trajectory generation apparatus, a product fabrication method, a recording medium, a program, and a robot system.
Description of the Related Art
In recent years, robot apparatuses such as industrial robots which perform assembly, processing, conveying, coating, paint application, and the like have been widely used in production lines of industrial products. In such a production line, a plurality of robot apparatuses are closely arranged so that production capacity is improved and space saving is attained. Furthermore, the plurality of robot apparatuses may simultaneously or cooperatively operate in an inside of a common working area. In the case where a plurality of robot apparatuses are operated in a common working area as described above, occurrence of interference (contact or collision) among robot arms is to be prevented.
An operation of inputting robot trajectories for changing positions and orientations of robot arms while robot apparatuses are moved and checked in an actual working environment by an operation apparatus which is called as a “teaching pendant” is performed as teaching of robot operations. Furthermore, a robot programming method for performing 3D virtual display of a working area of the robot apparatuses using a display apparatus of a robot control terminal and inputting trajectories while the robot apparatuses are operated in this virtual environment may be used. In robot teaching using such a virtual environment, an input unit, such as a keyboard, a pointing device, or a touch panel, is used to input teaching points for control of the robot apparatuses instead of the teaching pendant.
In the robot teaching (programming) in the related art including a manual operation process performed by a teaching person as described above, the teaching person performs a teaching process through a trial and error process, taking paths, trajectories, and timings for operating the robots into consideration, so that interference does not occur among robots. Therefore, in such a general method which considerably depends on the manual operation of the teaching person, as the number of robots and the total number of operations are increased, it is difficult to secure trajectories which do not cause interference between the robots, and a long period of time is required for a teaching operation. Furthermore, in a case where facilities near the production line or arrangement of the robots is to be changed, the same teaching operation is naturally required to be performed again.
To address this problem, a technique of automatically generating paths (trajectories) which do not cause interference between robots has been studied in recent years. As a method for such a path generation, path generation algorithms, such as a rapidly exploring random tree (RRT) and a probabilistic roadmap method (PRM), have been proposed. When such a trajectory/path generation technique is used, a teaching person only specifies a starting point and an ending point of a robot operation, and therefore, a burden of a teaching operation may be reduced. Furthermore, the path generation may be executed by a computer calculation in a virtual space for simulation of a working environment, and therefore, paths which do not cause interference may be calculated again within a short period of time even if facilities near a production line and arrangement of robots are changed.
Furthermore, in addition to the generation of paths which do not cause interference with obstacles in a working environment for one robot, a technique of generating robot trajectories which do not cause interference among a plurality of robots in which positions and orientations are changed by the minute in the working environment has also been proposed.
For example, in Japanese Patent Laid-Open No. 8-166809, interference between robots is avoided by controlling timings when operations of the robots are started. As a method for avoiding interference among a plurality of robots disclosed in Japanese Patent Laid-Open No. 8-166809, priority order of the operations of the robots is set and robot passing expectation regions of the robots which operate within a predetermined period of time or occupied regions which are larger regions including the robot passing expectation regions are successively calculated. Thereafter, it is determined whether calculated occupied regions overlap with each other. When the determination is affirmative, one of the robots, that is, a first robot, having a lower priority level is brought into a standby state and the other of the robots, that is, a second robot, having a higher priority level is operated. Furthermore, portions in the occupied region of the second robot in which an operation is terminated while the other robot is operated are successively released. Operation of the first robot is started only after the overlap is not detected in accordance with the change of the occupied region of the second robot.
Furthermore, in “On delaying collision checking in PRM planning: Application to multi-robot coordination” G. Sanchez and J.-C. Latombe, International Journal of Robotics Research, vol. 21, no. 1, pp. 5 to 26, 2002, interference between robots is avoided by controlling speeds of the robots at a time of robot operation. In trajectory generation in “On delaying collision checking in PRM planning: Application to multi-robot coordination” G. Sanchez and J.-C. Latombe, International Journal of Robotics Research, vol. 21, no. 1, pp. 5 to 26, 2002, a path from a starting point to an ending point of each robot is calculated while other robots are seen not to exist, and thereafter, a graph using positions on the paths of the robots as parameters is generated. Subsequently, the graph is searched for a combination of positions on the paths of the robots which do not interfere with each other and the paths obtained first and the combination of the positions on the paths of the robots are combined with each other so that trajectories which do not interfere with each other and which correspond to the operation with the controlled speed are obtained.
The trajectory control disclosed in Japanese Patent Laid-Open No. 8-166809 and the trajectory control disclosed in “On delaying collision checking in PRM planning: Application to multi-robot coordination” G. Sanchez and J.-C. Latombe, International Journal of Robotics Research, vol. 21, no. 1, pp. 5 to 26, 2002 are performed on the assumption of synchronization control. For example, in any of the trajectory control, trajectories which do not interfere with each other between robots are generated by synchronously controlling and adjusting speeds of operations of the robots and timings when the robots are operated after paths/trajectories of the robots are determined.
However, even when the trajectory control described above is executed, a region in which a robot passes at a certain time point may overlap with a region in which another robot passes at another time point. Specifically, since the robots are controlled in a time axis so as not to interfere with each other in the general techniques described above, if operation speeds or operation timings of the robots shift in a real environment, interference between robot arms may occur. In a case where one of the plurality of robots is erroneously stopped in a common passing region or an actual speed of an operation of one of the plurality of robots is considerably different from an ideal speed, for example, the robots may interfere with each other.
Furthermore, the general trajectory control described above is a technique of performing control such that a plurality of robots do not occupy the same space at a certain time point and requires calculations relating to a space axis and a time axis. Accordingly, a calculation load of a processing system is generally large, and significant calculation resources may be required.